﻿using System;
using System.Collections.Generic;
using ProductFeedbackE = JTLeigh.Commerce.Spencer.Features.ProductFeedback.Common.Entities.ProductFeedback;

namespace JTLeigh.Commerce.Spencer.Features.ProductFeedback.Business.Caches
{

	/// <summary>
	/// A null <see cref="IProductFeedbackCache"/> implementation that does not cache product
	/// feedback.
	/// </summary>
	/// <remarks>
	/// <para>
	/// This cache should not be used in production.
	/// </para>
	/// </remarks>
	public class NullProductFeedbackCache : IProductFeedbackCache
	{

		#region IProductFeedbackCache Members

		/// <summary>
		/// Always returns <see langword="null"/>.
		/// </summary>
		/// <param name="tenantId">Ignored.</param>
        /// <param name="catalogId">Ignored.</param>
		/// <param name="productId">Ignored.</param>
		/// <returns><see langword="null" />.</returns>
		public Dictionary<Guid, ProductFeedbackE> GetProductFeedback(Guid tenantId, string catalogId, string productId)
		{
			return null;
		}

		/// <summary>
		/// Does nothing.
		/// </summary>
		/// <param name="tenantId">Ignored.</param>
        /// <param name="catalogId">Ignored.</param>
        /// <param name="productId">Ignored.</param>
		/// <param name="feedback">Ignored.</param>
		public void SetProductFeedback(Guid tenantId, string catalogId, string productId, Dictionary<Guid, ProductFeedbackE> feedback)
		{
		}

		#endregion // IProductFeedbackCache Members

	}

}
